// Copyright  2012 Petr TALLA. [petr.talla@gmail.com]
//
// This file is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This file is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY;  without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
// [http://www.gnu.org/copyleft/lesser.html]
//=============================================================================
#include "./TcXdbIterator.h"
#include "./TcXdb.h"
#include <assert.h>
#include <stddef.h>

//=============================================================================
TcXdbIterator::TcXdbIterator(TcXdb* xdb) :
    xdb_(xdb),
    it_(xdb_->items_.begin())
{
}

//=============================================================================
void TcXdbIterator::next()
{   if ( NEOF() == false )
    {   assert(0);
        return;
    }

    it_++;
}

//=============================================================================
bool TcXdbIterator::NEOF()
{  if ( it_ == xdb_->items_.end() ) return false;
   return true;
}

//=============================================================================
TcXobject* TcXdbIterator::get()
{   if ( NEOF() == false )
    {   assert(0);
        return NULL;
    }

    return * it_;
}

//=============================================================================
